import Vuex from 'vuex'
import Vue from 'vue'
import user from './user'
Vue.use(Vuex)


// 需要创建一个全局仓库
const store = new Vuex.Store({
    // 这里是全局的数据仓库
    state:{
        count: 0,
        age : 119
    },
    // 只有通过 mutaions 才能修改state里面的数据
    mutations:{
        // state 就是 上面 的 全局仓库 ，payload是我们调用方法时传入的参数
        add(state,pyload){
            state.count += pyload;
        }
    },
    // 类似computed，在全局的仓库里面进行一定的数据处理，再提供给全局使用
    getters:{
        double(state){
            return state.count * 2;
        }
    },
    actions:{
        incrment(context,payload){
            context.commit('add',payload)
        }
    },

    // 当一个项目变大了，可能需要全局共享的数据会很多，如果所有的数据都写在 state 里面，会非常臃肿，后期维护不方便
    // 所以需要把不同数据以模块的形式分开
    modules:{
        user
    }
})

export default store;